import { ListPage } from "custom/index";
import { getScriptManagePage, removeScriptManagePage } from './api'
import { addDialog, editDialog } from './dialog'

const page = new ListPage('OvertimeRegistration');

page
  .api(getScriptManagePage)
  .useSearch()
    .addInputItem('keyword', '加班编号/加班人姓名/花名')
    .addItem({ prop: 'workOvertimeNo', label: '加班编号' })
    .addItem({ prop: 'name', label: '姓名' })
    .addItem({ prop: 'flowerName', label: '花名' })
    .addItem({ prop: 'no', label: '工号' })
    .addItem({ prop: 'customerName', label: '客户名称' })
    .addItem({ prop: 'subAccountName', label: '子账号名称' })
    .addItem({ prop: 'shopName', label: '店铺名称' })
    .addDateRangePicker(['dateS', 'dateE'], { label: '时间范围' })
    .addItem({ prop: 'createUserName', label: '登记人' })
    .end()
  .useTable()
    .useIndexColumn().end()
    .useColumn('workOvertimeNo').label('加班编号').minWidth(140).sortable().end()
    .useColumn('startDate').label('开始日期').minWidth(120).sortable().end()
    .useColumn('endDate').label('结束日期').minWidth(120).end()
    .useColumn('customerName').label('客户名称').minWidth(200).sortable().end()
    .useColumn('shopName').label('店铺名称').minWidth(140).end()
    .useColumn('subAccountItemList').label('子账号名称').formatter(row => row.subAccountItemList ? row.subAccountItemList.map(i => i.subAccountName).join(',') : '').minWidth(140).end()
    .useColumn('name').label('客服姓名').minWidth(140).end()
    .useColumn('flowerName').label('花名').minWidth(140).end()
    .useColumn('no').label('工号 ').minWidth(140).end()
    .useColumn('overtimeSalary').label('加班费').minWidth(140).sortable().end()
    .useColumn('remark').label('备注').minWidth(300).end()
    .useColumn('createUserName').label('登记人').minWidth(140).end()
    .useColumn('createTime').label('登记时间').minWidth(180).sortable().end()
    .end()
  .usePagination()
    .end()
  .useAuthButton()
    .useItem('add').primary().content('添加').addRow(addDialog).end()
    .useItem('export').content('导出数据').exportExcel().end()
    .end()
  .useAuthColumn({ width: 110 })
    .useItem('edit').content('编辑').editRow(editDialog).end()
    .useItem('delete').content('删除').removeRow(removeScriptManagePage, row => [row.workOvertimeId]).end()
    .end()

export default page
